package cn.fz.mpdemo.domain.po;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 员工表
 * </p>
 *
 * @author gecy
 * @since 2024-07-06 14:24:14
 */

@TableName("d01_emp_t")
@Data
@SuperBuilder
@NoArgsConstructor
public class EmpEntity {

    /**
     * ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    @Schema(title = "id",description = "主键id",defaultValue = "1")
    private Integer id;

    /**
     * 用户名
     */
    @TableField("username")
    @Schema(description = "用户名",defaultValue = "屌毛",nullable = true,requiredMode = Schema.RequiredMode.REQUIRED)
    private String username;

    /**
     * 密码
     */
    @TableField("`password`")
    private String password;

    /**
     * 密码
     */
    @TableField("`salt`")
    private String salt;

    /**
     * 姓名
     */
    @TableField("`name`")
    @Schema(description = "姓名")
    private String name;

    /**
     * 性别, 说明: 1 男, 2 女
     */
    @TableField("gender")
    @Schema(description = "性别")
    private Byte gender;

    /**
     * 图像
     */
    @TableField("image")
    @Schema(description = "头像")
    private String image;

    /**
     * 职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管, 5 咨询师
     */
    @TableField("job")
    @Schema(description = "职位")
    private Byte job;

    /**
     * 入职时间
     */
    @TableField("entrydate")
    @Schema(description = "入职时间")
    private LocalDate entrydate;

    /**
     * 部门ID
     */
    @TableField("dept_id")
    @Schema(description="部门ID")
    private Integer deptId;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    @TableField(value = "update_time")
    private LocalDateTime updateTime;
}
